package method;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
import java.util.Scanner;

class Stu
{
    private String id;
    private String name;
    private String classChe,classMath,classEng;//课程名
    private int che,math,eng;//成绩

    public Stu(String id,String name,
               String classChe,String classMath,String classEng,int che,int math,int eng)
    {
        this.id=id;
        this.name=name;
        this.classChe=classChe;
        this.classMath=classMath;
        this.classEng=classEng;
        this.che=che;
        this.math=math;
        this.eng=eng;


    }//构造方法直接插入数据
    //构造方法不需要写类型！因为不需要返回值

    //创建set就是为了存储数据到类中，get就是为了得到单个变量的值
    //如果用了重载类储存数据也可不写set,更简洁。
    //因为class是动态的，不是静态就不能直接stu[i].che这样获取值
    //必须要写一个函数如get实现return来获取值


    public String getId(){
        return id;
    }

    public String getName(){
        return name;
    }


    public int getEng(){
        return eng;
    }

    public int getMath(){
        return math;
    }

    public int getChe(){
        return che;
    }

    public String getClassEng(){
        return classEng;
    }

    public String getClassMath(){
        return classMath;
    }

    public String getClassChe(){
        return classChe;
    }


    public String find1(String name,int len,Stu[] stu)
    //写方法的时候表明是对象数组即可
    {
        for (int i = 0; i < len; i++)
            if (stu[i].getName().equals(name))
                return stu[i].id;
        //将类中存放的名字与传入的名字比对
        //找到相同名字时就将对象中的学号返回,
        //后面同理
        return null;//java中必须要有明确的返回值
    }


    public String find2(String id,int len,Stu[] stu)
    {
        for (int i = 0; i < len; i++)
            if (stu[i].getId().equals(id))
                return stu[i].name;

        return null;
    }

    public int find3(String id,int len,Stu[] stu){
        for (int i = 0; i < len; i++)
            if (stu[i].getId().equals(id))
                return i;
        return -1;
    }

    public int find4(String classname,int len,Stu[] stu){

        for (int i = 0; i < len; i++)
            if (stu[i].getClassChe().equals(classname)||stu[i].getClassMath().equals(classname)||stu[i].getClassEng().equals(classname))
                return i;
        return -1;
    }

    public int ave(int a,int b,int c)
    {
        return (a+b+c)/3;
    }

}

class R
{
    public String name;
    public int ave;



    public R(String name,int ave)
    {
        this.name=name;
        this.ave=ave;
    }

    public int getAve()
    {
        return ave;
    }

    public String getName()
    {
        return name;
    }
}
